package sort;

/*
    选择排序
        每次找到 数组 index 位置中右侧最小元素 ，然后与 index 元素交换位置
 */
public class SelectionSort {

    public static void main(String[] args) {
        Util.testFunction10000(SelectionSort::selectionSort);
    }

    public static int[] selectionSort(int[] array) {
        int len = array.length;

        for (int i = 0; i < len; i++) {
            int index = i;
            for (int j=i+1; j < len; j++) {
                if (array[j] < array[index]) {  // 如果右侧元素有更小，设置index值，知道遍历找到最小的
                    index = j;
                }
            }
            Util.swap(array, i, index);
        }

        return array;
    }
}
